home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / PowerPlant / AGA Classes 1.2 / Progress Indicators / LAGAIndetermProgress.h < prev    next >
Text File  |  1996-06-30  |  3KB  |  97 lines

  1. // ===========================================================================
  2. //    LAGAIndetermProgress.h
  3. // ===========================================================================
  4. //    “Apple Grayscale Appearance” compliant Indeterminate progress indicator
  5. //    Copyright © 1996 Chrisoft (Christophe ANDRES)  All rights reserved.
  6. //
  7. //    You may use this source code in any application (commercial, shareware, freeware,
  8. //    postcardware, etc), but not remove this notice (no need to acknowledge the use of
  9. //    this class in the about box)
  10. //    You may not sell this source code in any form. This source code may be placed on 
  11. //    publicly accessable archive sites and source code disks. It may not be placed on 
  12. //    profit archive sites and source code disks without the permission of the author, 
  13. //    Christophe ANDRES.
  14. //    
  15. //        This source code is distributed in the hope that it will be useful,
  16. //        but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. //        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  18. //
  19. //    If you make any change or improvement on this class, please send the improved/changed
  20. //    version to : chrisoft@calva.net or Christophe ANDRES
  21. //                                     20, rue Prosper Mérimée
  22. //                                     67100 STRASBOURG
  23. //                                     FRANCE
  24. //
  25. // ===========================================================================
  26. //    LAGAIndetermProgress.cp            <- double-click + Command-D to see class implementation
  27. //
  28. //    LAGAIndetermProgress is my implementation of the “Apple Grayscale Appearance for System 7.5”
  29. //        inderterminate progress indicator. The indicator spins automatically (through LPeridical)
  30. //        but can also be brought to "manual" spin, by calling the Spin method.
  31. //
  32. //        This class requires AGAColors.cp to be present in your project
  33. //
  34. //        Version : 1.2
  35. //
  36. //        Change History (most recent first, date in US form : mm/dd/yy):
  37. //
  38. //                        06/30/96    ca        Public release of version 1.2
  39. //                        06/04/96    ca        added RegisterClass method for easy registry
  40. //                                                        Added guard macros in header files
  41. //                                                        Increased version to 1.2
  42. //                        05/25/96    ca        class made available by Christophe ANDRES <chrisoft@calva.net>
  43. //                                                        (version 1.1)
  44. //
  45. //        To Do:
  46. //
  47.  
  48. #ifndef _H_LAGAIndetermProgress
  49. #define _H_LAGAIndetermProgress
  50. #pragma once
  51.  
  52. #include <LPane.h>
  53. #include <LPeriodical.h>
  54.  
  55. class    LAGAIndetermProgress : public LPane, public LPeriodical
  56. {
  57.     public        :
  58.         enum { class_ID = 'AGA8' };
  59.         static void RegisterClass ();                                                                                                                                    //    <06/04/96    ca>
  60.         static LAGAIndetermProgress* CreateAGAIndetermProgressStream (LStream* inStream);
  61.         
  62.         LAGAIndetermProgress ();
  63.         
  64.         LAGAIndetermProgress (LStream *inStream);
  65.         
  66.         LAGAIndetermProgress (const LAGAIndetermProgress &inOriginal);
  67.         
  68.         LAGAIndetermProgress (const SPaneInfo &inPaneInfo, Int32 inTicksDelay);
  69.         
  70.         virtual ~LAGAIndetermProgress ();
  71.         
  72.         virtual void Spin ();
  73.         
  74.         virtual void SpendTime (const EventRecord &inMacEvent);
  75.         
  76.         virtual void SetSpinSpeed (Int32 inTicksDelay) { mAnimationTicks = inTicksDelay; };
  77.         
  78.         virtual Int32 GetSpinSpeed () { return(mAnimationTicks); };
  79.         
  80.     protected    :
  81.         virtual void FinishCreateSelf ();
  82.  
  83.         virtual void DrawSelf ();
  84.         
  85.         Int16 mAnimationStep;
  86.         Int32 mAnimationTicks;
  87.     
  88.     private:
  89.         static void Initialise();
  90.         
  91.         static char mPattern[10][16];
  92.         static PixMapHandle mImage;
  93.         static long mUsage;
  94. };
  95.  
  96. #endif
  97.